#ifndef COMMONPAGE_H
#define COMMONPAGE_H

#include"musiclist.h"
#include <QWidget>
#include<QMediaPlaylist>

namespace Ui {
class CommonPage;
}

enum PageType
{
    LIKE_PAGE,//我喜欢
    LOCAL_PAGE,//本地下载
    HISTORY_PAGE//最近播放
};

class CommonPage : public QWidget
{
    Q_OBJECT

public:
    explicit CommonPage(QWidget *parent = nullptr);
    ~CommonPage();

    //初始化commonpage页面类型
    void setPageType(PageType pageType);

    //设置页面图片和标题
    void setCommonPageUi(const QString& title,const QString& imagePath);

    //添加音乐到对应的页面
    void addMusicToMusicPage(MusicList& musicList);

    //将Music更新到CommonPage中
    void refresh( MusicList& musicList);

    //通过相关页面把相关音乐播放到相关列表
    void addMusicToPlayer(MusicList &musicList, QMediaPlaylist *playList);

    //通过索引拿到歌曲的ID，拿到id就可以拿到歌曲
    QString getMusicIdByIndex(int index);

    void setImageLabel(QPixmap pixMap);



signals:
    void updateLikeMusic(bool isLike,const QString& musicId);

    //播放全部按钮被按下时将信号发送qqmusic
    void playAll(PageType);
    void playMusicByIndex(CommonPage* commonPageType,int index);//双击播放歌曲的信号(索引播放歌曲)

private:
    Ui::CommonPage *ui;

    PageType pageType;//枚举类型保存页面的类型

    QVector<QString> musicOfPage;//根据页面的不同保存对应的歌曲ID
};

#endif // COMMONPAGE_H
